
public class Cronometro {
	
	private long instanteInicio;
	private long instanteParada;
	private int estado;
	
	private static final int ACTIVO=0;
	private static final int DETENIDO=1;
	
	Cronometro()
	{
		estado = DETENIDO;
		instanteInicio = 0;
		instanteParada = 0;
	}
	
	public void activar ()
	{
		if (estado != ACTIVO){
		estado = ACTIVO;
		instanteInicio = java.lang.System.currentTimeMillis();
		}
	}
	public void detener ()
	{
		if (estado != DETENIDO){
		estado = DETENIDO;
		instanteParada = java.lang.System.currentTimeMillis();
		}
	}
	
	
	public long leer()
	{
		if (estado == DETENIDO){
			return (instanteParada - instanteInicio);
		}
		else
			return (java.lang.System.currentTimeMillis() - instanteInicio);
	}
	
	public void reiniciar()
	{
		instanteInicio = java.lang.System.currentTimeMillis();
		instanteParada = instanteInicio;
	}

}
